﻿using FluentNHibernate.Mapping;
using Sebrae.Academico.Trilhas.Dominio.Classes;

namespace Sebrae.Academico.Trilhas.BM.Mapeamentos
{
    
    public sealed class ItemTrilhaMap : ClassMap<ItemTrilha>
    {
        /// <summary>
        /// Construtor.
        /// </summary>
        public ItemTrilhaMap()
        {
            Table("TB_ITEMTRILHA");
            LazyLoad();
            Id(x => x.ID).GeneratedBy.Identity().Column("ID_ITEMTRILHA");
            References(x => x.SolucaoEducacional).Column("ID_SOLUCAOEDUCACIONAL"); //.Fetch.Join();
            References(x => x.TrilhaNivel).Column("ID_TRILHANIVEL").Fetch.Join();
            References(x => x.TrilhaTopicoTematico).Column("ID_TRILHATOPICOTEMATICO").Fetch.Join();
            References(x => x.TrilhaFormaAprendizagem).Column("ID_TRILHAFORMAAPRENDIZAGEM").Fetch.Join();
            References(x => x.Trilha).Column("ID_TRILHA").Fetch.Join();
            References(x => x.Usuario).Column("ID_USUARIO").Fetch.Join();
            Map(x => x.QuantidadePontosParticipacao).Column("QT_PONTOS");
        }
    }
}
